<!DOCTYPE html>
<html b:version='2' class='v2' dir='ltr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<meta content='width=1100' name='viewport'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<script type="text/javascript">(function() { var a=window,b="jstiming",d="tick";var e=function(c){this.t={};this.tick=function(c,p,h){h=void 0!=h?h:(new Date).getTime();this.t[c]=[h,p]};this[d]("start",null,c)},f=new e;a.jstiming={Timer:e,load:f};if(a.performance&&a.performance.timing){var g=a.performance.timing,j=a[b].load,k=g.navigationStart,l=g.responseStart;0<k&&l>=k&&(j[d]("_wtsrt",void 0,k),j[d]("wtsrt_","_wtsrt",l),j[d]("tbsd_","wtsrt_"))}
try{var m=null;a.chrome&&a.chrome.csi&&(m=Math.floor(a.chrome.csi().pageT),j&&0<k&&(j[d]("_tbnd",void 0,a.chrome.csi().startE),j[d]("tbnd_","_tbnd",k)));null==m&&a.gtbExternal&&(m=a.gtbExternal.pageT());null==m&&a.external&&(m=a.external.pageT,j&&0<k&&(j[d]("_tbnd",void 0,a.external.startE),j[d]("tbnd_","_tbnd",k)));m&&(a[b].pt=m)}catch(n){};a.tickAboveFold=function(c){var i=0;if(c.offsetParent){do i+=c.offsetTop;while(c=c.offsetParent)}c=i;750>=c&&a[b].load[d]("aft")};var q=!1;function r(){q||(q=!0,a[b].load[d]("firstScrollTime"))}a.addEventListener?a.addEventListener("scroll",r,!1):a.attachEvent("onscroll",r);
 })();</script>
<meta content='true' name='MSSmartTagsPreventParsing'/>
<meta content='blogger' name='generator'/>
<link href='http://technicalprose.blogspot.de/favicon.ico' rel='icon' type='image/x-icon'/>
<link href='http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="Technical Prose - Atom" href="http://technicalprose.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="Technical Prose - RSS" href="http://technicalprose.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="Technical Prose - Atom" href="http://www.blogger.com/feeds/6730765814959891660/posts/default" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.blogger.com/rsd.g?blogID=6730765814959891660" />
<link rel="alternate" type="application/atom+xml" title="Technical Prose - Atom" href="http://technicalprose.blogspot.com/feeds/8090372401074299149/comments/default" />
<!--[if IE]><script type="text/javascript" src="//www.blogger.com/static/v1/jsbin/2627287098-ieretrofit.js"></script>
<![endif]-->
<!--[if IE]> <script> (function() { var html5 = ("abbr,article,aside,audio,canvas,datalist,details," + "figure,footer,header,hgroup,mark,menu,meter,nav,output," + "progress,section,time,video").split(','); for (var i = 0; i < html5.length; i++) { document.createElement(html5[i]); } try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} })(); </script> <![endif]-->
<title>Technical Prose: How to write a UNIX man page</title>
<link type='text/css' rel='stylesheet' href='//www.blogger.com/static/v1/widgets/4219271310-widget_css_2_bundle.css' />
<link type='text/css' rel='stylesheet' href='//www.google.com/uds/css/gsearch.css' />
<link type="text/css" rel="stylesheet" href="//www.blogger.com/dyn-css/authorization.css?targetBlogID=6730765814959891660&zx=a779b682-a049-4165-a063-6f286343e639"/>
<style id='page-skin-1' type='text/css'><!--
/*
-----------------------------------------------
Blogger Template Style
Name:     Awesome Inc.
Designer: Tina Chen
URL:      tinachen.org
----------------------------------------------- */
/* Variable definitions
====================
<Variable name="keycolor" description="Main Color" type="color" default="#ffffff"/>
<Group description="Page" selector="body">
<Variable name="body.font" description="Font" type="font"
default="normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="body.background.color" description="Background Color" type="color" default="#000000"/>
<Variable name="body.text.color" description="Text Color" type="color" default="#ffffff"/>
</Group>
<Group description="Links" selector=".main-inner">
<Variable name="link.color" description="Link Color" type="color" default="#888888"/>
<Variable name="link.visited.color" description="Visited Color" type="color" default="#444444"/>
<Variable name="link.hover.color" description="Hover Color" type="color" default="#cccccc"/>
</Group>
<Group description="Blog Title" selector=".header h1">
<Variable name="header.font" description="Title Font" type="font"
default="normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="header.text.color" description="Title Color" type="color" default="#444444" />
<Variable name="header.background.color" description="Header Background" type="color" default="transparent" />
</Group>
<Group description="Blog Description" selector=".header .description">
<Variable name="description.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="description.text.color" description="Text Color" type="color"
default="#444444" />
</Group>
<Group description="Tabs Text" selector=".tabs-inner .widget li a">
<Variable name="tabs.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="tabs.text.color" description="Text Color" type="color" default="#444444"/>
<Variable name="tabs.selected.text.color" description="Selected Color" type="color" default="#444444"/>
</Group>
<Group description="Tabs Background" selector=".tabs-outer .PageList">
<Variable name="tabs.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="tabs.selected.background.color" description="Selected Color" type="color" default="#444444"/>
<Variable name="tabs.border.color" description="Border Color" type="color" default="#eeeeee"/>
</Group>
<Group description="Date Header" selector=".main-inner .widget h2.date-header, .main-inner .widget h2.date-header span">
<Variable name="date.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="date.text.color" description="Text Color" type="color" default="#666666"/>
<Variable name="date.border.color" description="Border Color" type="color" default="#eeeeee"/>
</Group>
<Group description="Post Title" selector="h3.post-title, h4, h3.post-title a">
<Variable name="post.title.font" description="Font" type="font"
default="normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="post.title.text.color" description="Text Color" type="color" default="#444444"/>
</Group>
<Group description="Post Background" selector=".post">
<Variable name="post.background.color" description="Background Color" type="color" default="#ffffff" />
<Variable name="post.border.color" description="Border Color" type="color" default="#eeeeee" />
<Variable name="post.border.bevel.color" description="Bevel Color" type="color" default="#eeeeee"/>
</Group>
<Group description="Gadget Title" selector="h2">
<Variable name="widget.title.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.title.text.color" description="Text Color" type="color" default="#444444"/>
</Group>
<Group description="Gadget Text" selector=".sidebar .widget">
<Variable name="widget.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.text.color" description="Text Color" type="color" default="#444444"/>
<Variable name="widget.alternate.text.color" description="Alternate Color" type="color" default="#666666"/>
</Group>
<Group description="Gadget Links" selector=".sidebar .widget">
<Variable name="widget.link.color" description="Link Color" type="color" default="#3778cd"/>
<Variable name="widget.link.visited.color" description="Visited Color" type="color" default="#4d469c"/>
<Variable name="widget.link.hover.color" description="Hover Color" type="color" default="#3778cd"/>
</Group>
<Group description="Gadget Background" selector=".sidebar .widget">
<Variable name="widget.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="widget.border.color" description="Border Color" type="color" default="#222222"/>
<Variable name="widget.border.bevel.color" description="Bevel Color" type="color" default="#000000"/>
</Group>
<Group description="Sidebar Background" selector=".column-left-inner .column-right-inner">
<Variable name="widget.outer.background.color" description="Background Color" type="color" default="transparent" />
</Group>
<Group description="Images" selector=".main-inner">
<Variable name="image.background.color" description="Background Color" type="color" default="transparent"/>
<Variable name="image.border.color" description="Border Color" type="color" default="transparent"/>
</Group>
<Group description="Feed" selector=".blog-feeds">
<Variable name="feed.text.color" description="Text Color" type="color" default="#444444"/>
</Group>
<Group description="Feed Links" selector=".blog-feeds">
<Variable name="feed.link.color" description="Link Color" type="color" default="#3778cd"/>
<Variable name="feed.link.visited.color" description="Visited Color" type="color" default="#4d469c"/>
<Variable name="feed.link.hover.color" description="Hover Color" type="color" default="#3778cd"/>
</Group>
<Group description="Pager" selector=".blog-pager">
<Variable name="pager.background.color" description="Background Color" type="color" default="#ffffff" />
</Group>
<Group description="Footer" selector=".footer-outer">
<Variable name="footer.background.color" description="Background Color" type="color" default="#ffffff" />
<Variable name="footer.text.color" description="Text Color" type="color" default="#444444" />
</Group>
<Variable name="title.shadow.spread" description="Title Shadow" type="length" default="-1px"/>
<Variable name="body.background" description="Body Background" type="background"
color="#eeeeee"
default="$(color) none repeat scroll top left"/>
<Variable name="body.background.gradient.cap" description="Body Gradient Cap" type="url"
default="none"/>
<Variable name="body.background.size" description="Body Background Size" type="string" default="auto"/>
<Variable name="tabs.background.gradient" description="Tabs Background Gradient" type="url"
default="none"/>
<Variable name="header.background.gradient" description="Header Background Gradient" type="url" default="none" />
<Variable name="header.padding.top" description="Header Top Padding" type="length" default="22px" />
<Variable name="header.margin.top" description="Header Top Margin" type="length" default="0" />
<Variable name="header.margin.bottom" description="Header Bottom Margin" type="length" default="0" />
<Variable name="widget.padding.top" description="Widget Padding Top" type="length" default="8px" />
<Variable name="widget.padding.side" description="Widget Padding Side" type="length" default="15px" />
<Variable name="widget.outer.margin.top" description="Widget Top Margin" type="length" default="0" />
<Variable name="widget.outer.background.gradient" description="Gradient" type="url" default="none" />
<Variable name="widget.border.radius" description="Gadget Border Radius" type="length" default="0" />
<Variable name="outer.shadow.spread" description="Outer Shadow Size" type="length" default="0" />
<Variable name="date.header.border.radius.top" description="Date Header Border Radius Top" type="length" default="0" />
<Variable name="date.header.position" description="Date Header Position" type="length" default="15px" />
<Variable name="date.space" description="Date Space" type="length" default="30px" />
<Variable name="date.position" description="Date Float" type="string" default="static" />
<Variable name="date.padding.bottom" description="Date Padding Bottom" type="length" default="0" />
<Variable name="date.border.size" description="Date Border Size" type="length" default="0" />
<Variable name="date.background" description="Date Background" type="background" color="transparent"
default="$(color) none no-repeat scroll top left" />
<Variable name="date.first.border.radius.top" description="Date First top radius" type="length" default="0" />
<Variable name="date.last.space.bottom" description="Date Last Space Bottom" type="length"
default="20px" />
<Variable name="date.last.border.radius.bottom" description="Date Last bottom radius" type="length" default="0" />
<Variable name="post.first.padding.top" description="First Post Padding Top" type="length" default="0" />
<Variable name="image.shadow.spread" description="Image Shadow Size" type="length" default="0"/>
<Variable name="image.border.radius" description="Image Border Radius" type="length" default="0"/>
<Variable name="separator.outdent" description="Separator Outdent" type="length" default="15px" />
<Variable name="title.separator.border.size" description="Widget Title Border Size" type="length" default="1px" />
<Variable name="list.separator.border.size" description="List Separator Border Size" type="length" default="1px" />
<Variable name="shadow.spread" description="Shadow Size" type="length" default="0"/>
<Variable name="startSide" description="Side where text starts in blog language" type="automatic" default="left"/>
<Variable name="endSide" description="Side where text ends in blog language" type="automatic" default="right"/>
<Variable name="date.side" description="Side where date header is placed" type="string" default="right"/>
<Variable name="pager.border.radius.top" description="Pager Border Top Radius" type="length" default="0" />
<Variable name="pager.space.top" description="Pager Top Space" type="length" default="1em" />
<Variable name="footer.background.gradient" description="Background Gradient" type="url" default="none" />
<Variable name="mobile.background.size" description="Mobile Background Size" type="string"
default="auto"/>
<Variable name="mobile.background.overlay" description="Mobile Background Overlay" type="string"
default="transparent none repeat scroll top left"/>
<Variable name="mobile.button.color" description="Mobile Button Color" type="color" default="#ffffff" />
*/
/* Content
----------------------------------------------- */
body {
font: normal normal 13px 'Trebuchet MS', Trebuchet, sans-serif;
color: #444444;
background: #eeeeee none repeat scroll top left;
}
html body .content-outer {
min-width: 0;
max-width: 100%;
width: 100%;
}
a:link {
text-decoration: none;
color: #3778cd;
}
a:visited {
text-decoration: none;
color: #4d469c;
}
a:hover {
text-decoration: underline;
color: #3778cd;
}
.body-fauxcolumn-outer .cap-top {
position: absolute;
z-index: 1;
height: 276px;
width: 100%;
background: transparent none repeat-x scroll top left;
_background-image: none;
}
/* Columns
----------------------------------------------- */
.content-inner {
padding: 0;
}
.header-inner .section {
margin: 0 16px;
}
.tabs-inner .section {
margin: 0 16px;
}
.main-inner {
padding-top: 30px;
}
.main-inner .column-center-inner,
.main-inner .column-left-inner,
.main-inner .column-right-inner {
padding: 0 5px;
}
*+html body .main-inner .column-center-inner {
margin-top: -30px;
}
#layout .main-inner .column-center-inner {
margin-top: 0;
}
/* Header
----------------------------------------------- */
.header-outer {
margin: 0 0 0 0;
background: transparent none repeat scroll 0 0;
}
.Header h1 {
font: normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
text-shadow: 0 0 -1px #000000;
}
.Header h1 a {
color: #444444;
}
.Header .description {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
}
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
}
.header-inner .Header .titlewrapper {
padding-top: 22px;
}
/* Tabs
----------------------------------------------- */
.tabs-outer {
overflow: hidden;
position: relative;
background: #eeeeee url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat scroll 0 0;
}
#layout .tabs-outer {
overflow: visible;
}
.tabs-cap-top, .tabs-cap-bottom {
position: absolute;
width: 100%;
border-top: 1px solid #999999;
}
.tabs-cap-bottom {
bottom: 0;
}
.tabs-inner .widget li a {
display: inline-block;
margin: 0;
padding: .6em 1.5em;
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
border-top: 1px solid #999999;
border-bottom: 1px solid #999999;
border-left: 1px solid #999999;
height: 16px;
line-height: 16px;
}
.tabs-inner .widget li:last-child a {
border-right: 1px solid #999999;
}
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover {
background: #666666 url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat-x scroll 0 -100px;
color: #ffffff;
}
/* Headings
----------------------------------------------- */
h2 {
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
}
/* Widgets
----------------------------------------------- */
.main-inner .section {
margin: 0 27px;
padding: 0;
}
.main-inner .column-left-outer,
.main-inner .column-right-outer {
margin-top: 0;
}
#layout .main-inner .column-left-outer,
#layout .main-inner .column-right-outer {
margin-top: 0;
}
.main-inner .column-left-inner,
.main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
#layout .main-inner .column-left-inner,
#layout .main-inner .column-right-inner {
margin-top: 0;
}
.sidebar .widget {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
}
.sidebar .widget a:link {
color: #3778cd;
}
.sidebar .widget a:visited {
color: #4d469c;
}
.sidebar .widget a:hover {
color: #3778cd;
}
.sidebar .widget h2 {
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget {
background-color: #ffffff;
border: 1px solid #eeeeee;
padding: 0 15px 15px;
margin: 20px -16px;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
.main-inner .widget h2 {
margin: 0 -15px;
padding: .6em 15px .5em;
border-bottom: 1px solid transparent;
}
.footer-inner .widget h2 {
padding: 0 0 .4em;
border-bottom: 1px solid transparent;
}
.main-inner .widget h2 + div, .footer-inner .widget h2 + div {
border-top: 1px solid #eeeeee;
padding-top: 8px;
}
.main-inner .widget .widget-content {
margin: 0 -15px;
padding: 7px 15px 0;
}
.main-inner .widget ul, .main-inner .widget #ArchiveList ul.flat {
margin: -8px -15px 0;
padding: 0;
list-style: none;
}
.main-inner .widget #ArchiveList {
margin: -8px 0 0;
}
.main-inner .widget ul li, .main-inner .widget #ArchiveList ul.flat li {
padding: .5em 15px;
text-indent: 0;
color: #666666;
border-top: 1px solid #eeeeee;
border-bottom: 1px solid transparent;
}
.main-inner .widget #ArchiveList ul li {
padding-top: .25em;
padding-bottom: .25em;
}
.main-inner .widget ul li:first-child, .main-inner .widget #ArchiveList ul.flat li:first-child {
border-top: none;
}
.main-inner .widget ul li:last-child, .main-inner .widget #ArchiveList ul.flat li:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.main-inner .widget .post-body ul {
padding: 0 2.5em;
margin: .5em 0;
list-style: disc;
}
.main-inner .widget .post-body ul li {
padding: 0.25em 0;
margin-bottom: .25em;
color: #444444;
border: none;
}
.footer-inner .widget ul {
padding: 0;
list-style: none;
}
.widget .zippy {
color: #666666;
}
/* Posts
----------------------------------------------- */
body .main-inner .Blog {
padding: 0;
margin-bottom: 1em;
background-color: transparent;
border: none;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.main-inner .section:last-child .Blog:last-child {
padding: 0;
margin-bottom: 1em;
}
.main-inner .widget h2.date-header {
margin: 0 -15px 1px;
padding: 0 0 0 0;
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
background: transparent none no-repeat scroll top left;
border-top: 0 solid #eeeeee;
border-bottom: 1px solid transparent;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
position: static;
bottom: 100%;
right: 15px;
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget h2.date-header span {
font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
display: block;
padding: .5em 15px;
border-left: 0 solid #eeeeee;
border-right: 0 solid #eeeeee;
}
.date-outer {
position: relative;
margin: 30px 0 20px;
padding: 0 15px;
background-color: #ffffff;
border: 1px solid #eeeeee;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
}
.date-outer:first-child {
margin-top: 0;
}
.date-outer:last-child {
margin-bottom: 20px;
-moz-border-radius-bottomleft: 0;
-moz-border-radius-bottomright: 0;
-webkit-border-bottom-left-radius: 0;
-webkit-border-bottom-right-radius: 0;
-goog-ms-border-bottom-left-radius: 0;
-goog-ms-border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.date-posts {
margin: 0 -15px;
padding: 0 15px;
clear: both;
}
.post-outer, .inline-ad {
border-top: 1px solid #eeeeee;
margin: 0 -15px;
padding: 15px 15px;
}
.post-outer {
padding-bottom: 10px;
}
.post-outer:first-child {
padding-top: 0;
border-top: none;
}
.post-outer:last-child, .inline-ad:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.post-body img {
padding: 8px;
background: transparent;
border: 1px solid transparent;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
h3.post-title, h4 {
font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
}
h3.post-title a {
font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #444444;
}
h3.post-title a:hover {
color: #3778cd;
text-decoration: underline;
}
.post-header {
margin: 0 0 1em;
}
.post-body {
line-height: 1.4;
}
.post-outer h2 {
color: #444444;
}
.post-footer {
margin: 1.5em 0 0;
}
#blog-pager {
padding: 15px;
font-size: 120%;
background-color: #ffffff;
border: 1px solid #eeeeee;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
-goog-ms-border-radius: 0;
border-radius: 0;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
-goog-ms-border-top-left-radius: 0;
-goog-ms-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius-topright: 0;
margin-top: 1em;
}
.blog-feeds, .post-feeds {
margin: 1em 0;
text-align: center;
color: #444444;
}
.blog-feeds a, .post-feeds a {
color: #3778cd;
}
.blog-feeds a:visited, .post-feeds a:visited {
color: #4d469c;
}
.blog-feeds a:hover, .post-feeds a:hover {
color: #3778cd;
}
.post-outer .comments {
margin-top: 2em;
}
/* Comments
----------------------------------------------- */
.comments .comments-content .icon.blog-author {
background-repeat: no-repeat;
background-image: url();
}
.comments .comments-content .loadmore a {
border-top: 1px solid #999999;
border-bottom: 1px solid #999999;
}
.comments .continue {
border-top: 2px solid #999999;
}
/* Footer
----------------------------------------------- */
.footer-outer {
margin: -20px 0 -1px;
padding: 20px 0 0;
color: #444444;
overflow: hidden;
}
.footer-fauxborder-left {
border-top: 1px solid #eeeeee;
background: #ffffff none repeat scroll 0 0;
-moz-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 20px rgba(0, 0, 0, .2);
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
margin: 0 -20px;
}
/* Mobile
----------------------------------------------- */
body.mobile {
background-size: auto;
}
.mobile .body-fauxcolumn-outer {
background: transparent none repeat scroll top left;
}
*+html body.mobile .main-inner .column-center-inner {
margin-top: 0;
}
.mobile .main-inner .widget {
padding: 0 0 15px;
}
.mobile .main-inner .widget h2 + div,
.mobile .footer-inner .widget h2 + div {
border-top: none;
padding-top: 0;
}
.mobile .footer-inner .widget h2 {
padding: 0.5em 0;
border-bottom: none;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .widget ul,
.mobile .main-inner .widget #ArchiveList ul.flat {
margin: 0 -15px 0;
}
.mobile .main-inner .widget h2.date-header {
right: 0;
}
.mobile .date-header span {
padding: 0.4em 0;
}
.mobile .date-outer:first-child {
margin-bottom: 0;
border: 1px solid #eeeeee;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
-goog-ms-border-top-left-radius: 0;
-goog-ms-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.mobile .date-outer {
border-color: #eeeeee;
border-width: 0 1px 1px;
}
.mobile .date-outer:last-child {
margin-bottom: 0;
}
.mobile .main-inner {
padding: 0;
}
.mobile .header-inner .section {
margin: 0;
}
.mobile .blog-posts {
padding: 0 10px;
}
.mobile .post-outer, .mobile .inline-ad {
padding: 5px 0;
}
.mobile .tabs-inner .section {
margin: 0 10px;
}
.mobile .main-inner .widget h2 {
margin: 0;
padding: 0;
}
.mobile .main-inner .widget h2.date-header span {
padding: 0;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile #blog-pager {
border: 1px solid transparent;
background: #ffffff none repeat scroll 0 0;
}
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
background: transparent none repeat 0 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-goog-ms-box-shadow: none;
box-shadow: none;
}
.mobile .date-posts {
margin: 0;
padding: 0;
}
.mobile .footer-fauxborder-left {
margin: 0;
border-top: inherit;
}
.mobile .main-inner .section:last-child .Blog:last-child {
margin-bottom: 0;
}
.mobile-index-contents {
color: #444444;
}
.mobile .mobile-link-button {
background: #3778cd url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png) repeat scroll 0 0;
}
.mobile-link-button a:link, .mobile-link-button a:visited {
color: #ffffff;
}
.mobile .tabs-inner .PageList .widget-content {
background: transparent;
border-top: 1px solid;
border-color: #999999;
color: #444444;
}
.mobile .tabs-inner .PageList .widget-content .pagelist-arrow {
border-left: 1px solid #999999;
}

--></style>
<style id='template-skin-1' type='text/css'><!--
body {
min-width: 860px;
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: 860px;
max-width: 860px;
_width: 860px;
}
.main-inner .columns {
padding-left: 0px;
padding-right: 260px;
}
.main-inner .fauxcolumn-center-outer {
left: 0px;
right: 260px;
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("0px") -
parseInt("260px") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: 0px;
}
.main-inner .fauxcolumn-right-outer {
width: 260px;
}
.main-inner .column-left-outer {
width: 0px;
right: 100%;
margin-left: -0px;
}
.main-inner .column-right-outer {
width: 260px;
margin-right: -260px;
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
--></style>
<script type="text/javascript">var a=navigator,b="userAgent",c="indexOf",f="&m=1",g="(^|&)m=",h="?",i="?m=1";function j(){var d=window.location.href,e=d.split(h);switch(e.length){case 1:return d+i;case 2:return 0<=e[1].search(g)?null:d+f;default:return null}}if(-1!=a[b][c]("Mobile")&&-1!=a[b][c]("WebKit")&&-1==a[b][c]("iPad")||-1!=a[b][c]("Opera Mini")||-1!=a[b][c]("IEMobile")){var k=j();k&&window.location.replace(k)};
</script><script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('headEnd');
</script></head>
<body class='loading'>
<div class='navbar section' id='navbar'><div class='widget Navbar' id='Navbar1'><script type="text/javascript">
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener('load',
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent('onload', function(){ object[attribute] = val; });
      }
    }
  </script>
<div id="navbar-iframe-container"></div>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script type="text/javascript">
        gapi.load("iframes-styles-bubble", function() {
          if (window.iframes && iframes.open) {
            iframes.open(
                '//www.blogger.com/navbar.g?targetBlogID\0756730765814959891660\46blogName\75Technical+Prose\46publishMode\75PUBLISH_MODE_BLOGSPOT\46navbarType\75BLUE\46layoutType\75LAYOUTS\46searchRoot\75http://technicalprose.blogspot.com/search\46blogLocale\75en_GB\46v\0752\46homepageUrl\75http://technicalprose.blogspot.com/\46targetPostID\758090372401074299149\46blogPostOrPageUrl\75http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html\46vt\0756249926488741228973',
                {
                  container: "navbar-iframe-container",
                  id: "navbar-iframe"
                },
                {
                });
          }
        });
      </script><script type="text/javascript">
(function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js';
var head = document.getElementsByTagName('head')[0];
if (head) {
head.appendChild(script);
}})();
</script>
</div></div>
<div class='body-fauxcolumns'>
<div class='fauxcolumn-outer body-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content'>
<div class='content-fauxcolumns'>
<div class='fauxcolumn-outer content-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content-outer'>
<div class='content-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left content-fauxborder-left'>
<div class='fauxborder-right content-fauxborder-right'></div>
<div class='content-inner'>
<header>
<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'></div>
<div class='region-inner header-inner'>
<div class='header section' id='header'><div class='widget Header' id='Header1'>
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
<a href='http://technicalprose.blogspot.de/'>Technical Prose</a>
</h1>
</div>
<div class='descriptionwrapper'>
<p class='description'><span>
</span></p>
</div>
</div>
</div></div>
</div>
</div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</header>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'></div>
<div class='region-inner tabs-inner'>
<div class='tabs section' id='crosscol'></div>
<div class='tabs section' id='crosscol-overflow'></div>
</div>
</div>
<div class='tabs-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'></div>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<div class='main section' id='main'><div class='widget Blog' id='Blog1'>
<div class='blog-posts hfeed'>
<!-- google_ad_section_start(name=default) -->

          <div class="date-outer">
        
<h2 class='date-header'><span>Wednesday, 1 June 2011</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta content='6730765814959891660' itemprop='blogId'/>
<meta content='8090372401074299149' itemprop='postId'/>
<a name='8090372401074299149'></a>
<h3 class='post-title entry-title' itemprop='name'>
How to write a UNIX man page
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-8090372401074299149' itemprop='description articleBody'>
<span style="font-size: large;"><b>Introduction</b></span> <br />
Man pages are common on UNIX and UNIX-like systems for providing online documentation for user commands, libraries, APIs, file formats and the like.&nbsp; So common in fact, that one might think there is a magic tool that authors use to write them.&nbsp; Well, there is and there isn't.&nbsp; If you consider <code>vi</code> or <code>emacs</code> to be magic, or the text formatting tools <code>nroff</code> and <code>troff</code>, then indeed you would be right.&nbsp; That's about as magic as it gets.<br />
<br />
When you use the <code>man</code> command to display a man page, the text file that you have written in your favourite editor is formatted by one of several text formatters, such as <code>nroff</code>, <code>tbl</code> and <code>col</code>, before being displayed on-screen.&nbsp; Each of these text formatters has its own man page describing its behaviour.<br />
<br />
This article discusses writing man pages for Solaris or Linux, although the instructions will be practically identical for other UNIX systems. The best way to learn how to write a man page is often to take an existing man page that someone else has written and change it for your own needs.&nbsp; However, this article will give you some useful pointers.<br />
<br />
<span style="font-size: large;"><b>Chapters</b></span><br />
Man pages are organised by chapters, much like the chapters of a book.&nbsp; Each chapter is identified by a title and a number.&nbsp; The main difference between writing man pages for Solaris and Linux are the chapter numbers, which will differ.<br />
<br />
To find out what information should be contained within a particular chapter, type <code>man -s&lt;N&gt; intro</code> on Solaris or <code>man &lt;N&gt; intro</code> on Linux, where <code>&lt;N&gt;</code> is the chapter number of interest.  This will pull up the introduction page for the chapter.  For example, <code>man -s1 intro</code> will identify that this chapter is for <i>User Commands</i>.  On Solaris, chapter <b>1M</b> (<code>man -s1m intro</code>) is for <i>System Administration Commands</i> such as those you would usually only run as the <code>root</code> user, while on Linux this information goes in chapter <b>8</b> (<code>man 8 intro</code>).<br />
<br />
If you're unsure of the title of a chapter or what chapter number you  should be using, open the man page for another similar type of command  that comes with the OS and use the same chapter number in your man page. <br />
<br />
<span style="font-size: large;"><b>Basic Layout</b></span><br />
A typical man page starts with some preamble identifying the title and  chapter number, and is then laid out in a number of sections:<br />
<br />
<table border="1" cellpadding="0" cellspacing="0"><tbody>
<tr><th align="center" bgcolor="#6b7f93" style="text-align: center; vertical-align: top;" valign="top">Section</th><th align="center" bgcolor="#6b7f93" style="text-align: center; vertical-align: top;" valign="top">Description</th></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>NAME</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">Name of command and summary line </td></tr>
<tr><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top"><code>SYNOPSIS</code> </td><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top">Identifies the different ways the command can be invoked and its command-line arguments </td></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>DESCRIPTION</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">A description of what the command does and how to use it </td></tr>
<tr><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top"><code>OPTIONS</code> </td><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top">A description of each command-line option and what effect it has </td></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>SEE ALSO</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">A list of related man pages or documentation </td></tr>
</tbody></table><br />
Man pages may include any sections that are relevant, but the above list  is normal for a basic man page and this article will use the above  list.  Other common sections that appear in man pages include <code>ENVIRONMENT VARIABLES</code><code></code>, <code>EXAMPLES</code>, <code>EXIT STATUS</code>, <code>FILES</code>, <code>NOTES</code><code></code>, <code></code><code>AUTHOR</code>, <code>COPYRIGHT</code> and <code>BUGS</code>. <br />
<br />
Man pages are text files called <code>&lt;name&gt;.&lt;chapter&gt;</code>, where <code>&lt;name&gt;</code> is the name of the man page (usually the same as the command it is describing), and <code>&lt;chapter&gt;</code> is the chapter number in lowercase.  Man pages for chapter <code>&lt;chapter&gt;</code> are contained within a directory called <code>man/man&lt;chapter&gt;</code>, again in lowercase. <br />
<br />
<span style="font-size: large;"><b>Fonts</b></span><br />
Thoughout a man page, different font faces have particular meanings.  Default text is known as "Roman".  <b>Bold text</b> is used for text that must be typed exactly as shown (or for general emphasis within paragraphs).  <i>Italic text</i>, which is actually usually displayed <u>underlined</u> instead, are for arguments that must be replaced by something else. <br />
<br />
Note that on Solaris, bold in man pages does not show up without some tweaking.&nbsp; I'll discuss this in a separate posting. <br />
<br />
In Linux, apostrophes don't always display as apostrophes in PuTTY.  To  fix this, make sure PuTTY is configured to assume received data is in  the <b>UTF-8</b> character set.<br />
<br />
<span style="font-size: large;"><b>General Formatting Rules</b></span><br />
<br />
<u><b>Macro commands</b></u><br />
Macro commands for the text formatter generally appear on newlines  prefixed by a single dot.  Anything else you type will appear in the man  page in formatted paragraphs, fully justified against the left and  right margins.  The text formatter will automatically split-up and  hyphenate long words when necessary.<br />
<br />
<u><b>Line breaks and paragraph breaks (.br and .LP)</b></u><br />
Line breaks in man pages are generally swallowed up, so if you're typing  a long paragraph, you can usually hit Enter whenever you like. <br />
<br />
If you actually want to begin a new paragraph, leave one blank line.  Alternatively, use the <code>.LP</code> command on a line by itself to request a new paragraph. <br />
<br />
If you want to force a line break (but not a new paragraph), use the <code>.br</code> command on a line by itself to request a line break. <br />
<br />
Be careful when putting in line breaks.  Solaris swallows up extra space when displaying man pages, but Linux does not. <br />
<br />
<u><b>Bold text (.B, .BR and \fB)</b></u><br />
If a line begins <code>.B</code> the next argument will be <b>bold</b>.  If the text contains spaces, enclose in double quotes.  E.g. <br />
<pre></pre><pre>The word
.B bold
will be bolded.
</pre>To switch back to Roman text without incurring a space, use <code>.BR</code> instead.  The first argument will be <b>bold</b>, the second argument Roman.  As before, if an argument must contain spaces, enclose in double quotes.  E.g. <br />
<pre></pre><pre>The word
.BR bold ,
will be bolded but the comma was Roman.
</pre>Alternatively, the macro <code>\fB</code> starts bold face, <code>\fR</code> returns to Roman.  E.g. <br />
<pre></pre><pre>The word \fBbold\fR, will be bold.&nbsp;</pre><u><b>Italic text (.I, .IR and \fI)</b></u><br />
As previously mentioned, <i>italic</i> text actually usually appears <u>underlined</u>.  If a line begins <code>.I</code> the next argument will be <i>italics</i>.  If the text contains spaces, enclose in double quotes.  E.g. <br />
<pre></pre><pre>The word
.I italic
will be underlined.
</pre>To switch back to Roman text without incurring a space, use <code>.IR</code> instead.  The first argument will be <i>italics</i>, the second argument Roman.  As before, if an argument must contain spaces, enclose in double quotes.  E.g. <br />
<pre></pre><pre>The word
.IR italic ,
will be underlined but the comma was Roman.
</pre>Alternatively, the macro <code>\fI</code> starts italics, <code>\fR</code> returns to Roman.  E.g. <br />
<pre></pre><pre>The word \fIitalic\fR, will be underlined.
</pre><u><b>Indenting paragraphs (.RS, .RE, .HP and .TP)</b></u><br />
There are several ways to achieve paragraph indentation.  The simplest form is <code>.RS &lt;N&gt;</code> where <code>&lt;N&gt;</code> is the number of characters to indent.  This sets up a <i>relative indent</i>, and <code>.RE</code> ends a relative indent.  E.g. <br />
<pre></pre><pre>.RS 3
This paragraph is indented by 3 characters.
.RE
</pre>The <code>.RS</code> command can be nested to create different levels of indentation.  Each successive <code>.RE</code> returns the indentation back to the previous setting.  E.g. <br />
<pre></pre><pre>.RS 3
This line is indented by 3 characters.
.RS 3
This line is indented by 6 characters.
.RE
This line is indented by 3 characters.
.RE
Now we're back to normal.
</pre>Alternatively, the <code>.HP</code> command can be used to set-up a <i>hanging indent</i>.  Like <code>.RS</code>  it is given an argument specifying the number of characters to indent  by, but it will apply to the next paragraph.  To remove the indentation,  start a new paragraph with <code>.LP</code>.  E.g. <br />
<pre></pre><pre>.HP 3
This paragraph is normal.

This paragraph is indented by 3 characters.
.LP
This paragraph is normal.
</pre>The <code>.TP</code> command sets up a <i>tagged indent</i> and is  typically used when discussing command-line options.  This allows for  paragraph indentation that follows an initial line that is not indented.   The first line immediately following a <code>.TP</code> command contains the text to display that is not indented.  All further lines and paragraphs will be indented.  The <code>.TP</code>  command can be given an argument specifying the number of characters to  indent, or if omitted will use whatever indentation setting was  specified with the last <code>.TP</code> command.  E.g. <br />
<pre></pre><pre>.TP 8
.B -a
This argument does something.
.TP
.B -b
This argument does something else.
.LP
Now we're back to normal.
</pre>In the above example, the <b>-a</b> and <b>-b</b>  options appear in bold in the left column, while the description of what  the argument does appears in the right column.  The left column is 8  characters wide.<br />
It is common to indent the whole block using a relative indent.  E.g. <br />
<pre></pre><pre>Command-line options are:
.RS 3
.TP 8
.B -a
This argument does something.
.TP
.B -b
This argument does something else.
.LP
.RE
Now we're back to normal.
</pre><span style="font-size: large;"><b>Preamble (.TH)</b></span><br />
The preamble generally includes comments and a title line.<br />
<br />
Comments are lines that are prefixed: <code>.\"</code> <br />
<pre>.\" This is a comment in a man page
</pre>The title line takes the format <code>.TH &lt;n&gt; &lt;s&gt; &lt;d&gt; &lt;f&gt; &lt;m&gt;</code>, where each argument is described in the table below: <br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-width: 1px;"><tbody>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>&lt;n&gt;</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">Name of man page (from file name) </td></tr>
<tr><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top"><code>&lt;s&gt;</code> </td><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top">Section (chapter number from file name) </td></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>&lt;d&gt;</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">Date of most recent change </td></tr>
<tr><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top"><code>&lt;f&gt;</code> </td><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top">Left page footer text, commonly the product name and version that provides this manual page </td></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>&lt;m&gt;</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">Main page (centre) header text, commonly the title of the chapter </td></tr>
</tbody></table><br />
If an argument contains spaces, it must be enclosed within double quotes.&nbsp; If the left page or main page header text is omitted, defaults will be assumed.&nbsp; Here is an example: <br />
<pre><span class="pygments-">.</span><span class="pygments-k">TH</span><span class="pygments-"> </span><span class="pygments-s">prose</span><span class="pygments-"> </span><span class="pygments-s2">"1"</span><span class="pygments-"> </span><span class="pygments-s2">"17 November 2010"</span>
</pre><span style="font-size: large;"><b>Man Page Sections (.SH)</b></span><br />
New sections in man pages are started with the Section Heading command <code>.SH</code>.   This macro resets formatting, displays a section heading title and  sets up for a new paragraph.  It takes a single argument, the section  heading text.  If this text contains spaces, enclose it within double  quotes.  For example:<br />
<pre>.SH SYNOPSIS
</pre>begins the <code>SYNOPSIS</code> section.<br />
<br />
<u><b>NAME</b></u><br />
The <code>NAME</code> section usually consists of one line: <br />
<pre>&lt;command&gt; - &lt;summary&gt;
</pre>where <code>&lt;command&gt;</code> is the name of the command that the man page is describing, and <code>&lt;summary&gt;</code> is a one line summary.  Here is an example <code>NAME</code> section<code></code>: <br />
<pre>.SH NAME
<span class="pygments-">prose </span><span class="pygments-se">-</span><span class="pygments-"> PROSE script compiler and engine</span>
</pre><u><b>SYNOPSIS</b></u><br />
The <code>SYNOPSIS</code> section provides the syntax of the command and its arguments, as typed on the command line. <br />
When in <b>bold</b>, a word must be typed exactly as displayed.  When in <i>italics</i> (or <u>underlined</u>), a word can be replaced with an argument that the user supplies.  Symbols are used to further identify the syntax:<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-width: 1px;"><tbody>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>[ ]</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">An argument, when surrounded by brackets, is optional. </td></tr>
<tr><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top"><code>|</code> </td><td bgcolor="#edf4f9" style="vertical-align: top;" valign="top">Arguments separated by a vertical bar are exclusive.  You can supply only one item from such a list. </td></tr>
<tr><td bgcolor="#ffffff" style="vertical-align: top;" valign="top"><code>...</code> </td><td bgcolor="#ffffff" style="vertical-align: top;" valign="top">Arguments followed by an ellipsis can be repeated.  When an ellipsis  follows a bracketed set, the expression within brackets can be repeated.  </td></tr>
</tbody></table><br />
Here is an example <code>SYNOPSIS</code> section: <br />
<pre></pre><pre>.SH SYNOPSIS
\fBprose\fR [\fB\-D\fR \fIn|n1-n2\fR] [\fB\-m\fR \fImodule_dir\fR]
.RS 6
[\fB\-s\fR \fIschema_dir\fR] \fIbinary_file\fR ...
.RE
.LP
.B "prose --help"
.br
.B "prose --version"
</pre>To display a backslash, you must write <code>\\</code> to avoid special interpretation. <br />
<br />
<u><b>DESCRIPTION</b></u><br />
The <code>DESCRIPTION</code> section provides a narrative overview of  the command's behaviour.  This includes how it interacts with files or  data, and how it handles the standard input, standard output and  standard error.  Internals and implementation details are normally  omitted.  This section attempts to provide a succinct overview in answer  to the question, "what does it do?".  Here is an example:<br />
<pre>.SH DESCRIPTION
Loads one or more PAL binary files into the execution engine,
and launches the
.B 'main'
functions located underneath each module root.

PROSE binary files are created by passing PAL instructions to the
.B prism
assembler tool.

Note that the PROSE scripting language does not yet exist.  When
it does, this tool will also compile PROSE scripts into bytecode.</pre><u><b>OPTIONS</b></u><br />
The <code>OPTIONS</code> section lists the command-line options with a description of how each affects the command's operation.  Here is an example:<br />
<pre>.SH OPTIONS
.TP
.BI \-D " n|n1-n2"
enable debug mode, reporting debug messages at level
.IR n ,
or between the levels of
.I n1
and
.IR n2 .
There are a number of debug levels available, ranging from 1-127,
where 1 is
the least amount of information.  Debug levels from 50 and above
are only
available if the tool has been compiled with the ENABLE_EXTRADEBUG
flag.
.TP
.BI \-m " module_dir"
specify a different directory in which to locate the PROSE modules.
Run
.B "prose --help"
to see the default location.
.TP
.BI \-s " schema_dir"
specify a different directory in which to locate the PROSE schema
definitions.
Run
.B "prose --help"
to see the default location.</pre><u><b>SEE ALSO</b></u><br />
The <code>SEE ALSO</code> section is a comma-separated list of related man pages and documentation. Here is an example:<br />
<pre>.SH "SEE ALSO"
.BR prism (1),
.BR pal_intro (5).</pre><span style="font-size: large;"><b>Further Reading</b></span><br />
See <code>man man</code> on a Solaris or Linux host for a general discussion on the format of man pages.  See also <code>man -s5 man</code> on Solaris or <code>man 7 man</code> on Linux for a list of standard man page macros (including the macros discussed above), and see <code>man tbl</code> for macros that can be used for formatting tables.
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
Posted by
<span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
<meta content='http://www.blogger.com/profile/17161448681955764614' itemprop='url'/>
<a href='http://www.blogger.com/profile/17161448681955764614' rel='author' title='author profile'>
<span itemprop='name'>Mark R. Bannister</span>
</a>
</span>
</span>
<span class='post-timestamp'>
at
<meta content='http://technicalprose.blogspot.de/2011/06/how-to-write-unix-man-page.html' itemprop='url'/>
<a class='timestamp-link' href='http://technicalprose.blogspot.de/2011/06/how-to-write-unix-man-page.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2011-06-01T08:46:00-07:00'>08:46</abbr></a>
</span>
<span class='post-comment-link'>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-803255520'>
<a href='http://www.blogger.com/post-edit.g?blogID=6730765814959891660&postID=8090372401074299149&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='http://www.blogger.com/share-post.g?blogID=6730765814959891660&postID=8090372401074299149&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='http://www.blogger.com/share-post.g?blogID=6730765814959891660&postID=8090372401074299149&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='http://www.blogger.com/share-post.g?blogID=6730765814959891660&postID=8090372401074299149&target=twitter' target='_blank' title='Share to Twitter'><span class='share-button-link-text'>Share to Twitter</span></a><a class='goog-inline-block share-button sb-facebook' href='http://www.blogger.com/share-post.g?blogID=6730765814959891660&postID=8090372401074299149&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><div class='goog-inline-block dummy-container'><g:plusone source='blogger:blog:plusone' href='http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html' size='medium' width='300' annotation='inline'/></div>
</div>
</div>
<div class='post-footer-line post-footer-line-2'><span class='post-labels'>
</span>
</div>
<div class='post-footer-line post-footer-line-3'><span class='post-location'>
</span>
</div>
</div>
</div>
<div class='comments' id='comments'>
<a name='comments'></a>
<h4>1 comment:</h4>
<div class='comments-content'>
<script async='async' src='//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js' type='text/javascript'></script>
<script type='text/javascript'>
    (function() {
      var items = [{'id': '7250326824603233817', 'body': 'A nice post about a great, old capability of Unix - in fact, one of the capabilities that made Unix great. Other OS\46#39;s of the time did not have succinct, usable manuals, especially online.\74br /\76\74br /\76Lots of folk criticized the manual pages for being obtuse and unusable, but for the target audience, they were perfect.\74br /\76\74br /\76They also fit very nicely with the Unix Philosophy, now mostly forgotten, I\46#39;m afraid.\74br /\76\74br /\76Anyway, good work!', 'timestamp': '1307537442126', 'permalink': 'http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html?showComment\0751307537442126#c7250326824603233817', 'author': {'name': 'goltip', 'avatarUrl': 'http://img2.blogblog.com/img/b16-rounded.gif', 'profileUrl': 'http://www.blogger.com/profile/17782914627354957448'}, 'displayTime': '8 June 2011 05:50', 'deleteclass': 'item-control blog-admin pid-57731478'}];
      var msgs = {'loadMore': 'Load more...', 'loading': 'Loading...', 'loaded': 'No more.', 'addComment': 'Add comment', 'reply': 'Reply', 'delete': 'Delete'};
      var config = {'blogId': '6730765814959891660', 'postId': '8090372401074299149', 'feed': 'http://technicalprose.blogspot.com/feeds/8090372401074299149/comments/default', 'authorName': 'Mark R. Bannister', 'authorUrl': 'http://www.blogger.com/profile/17161448681955764614', 'baseUri': 'http://www.blogger.com', 'maxThreadDepth': 2};

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
                  comment.displayTime = entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
</script>
<div id='comment-holder'>
<div id='bc_0_2C' kind='c'><div id='bc_0_2CT'><div id='bc_0_1T' class='comment-thread' kind='r'  t='0' u='0'><ol id='bc_0_1TB'><li id='bc_0_0B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img2.blogblog.com/img/b36-rounded.png'></img></div><div id='c7250326824603233817' class='comment-block'><div id='bc_0_0M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' href='http://www.blogger.com/profile/17782914627354957448'>goltip</a></cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html?showComment=1307537442126#c7250326824603233817'>8 June 2011 05:50</a></span></div><p id='bc_0_0MC' class='comment-content'>A nice post about a great, old capability of Unix - in fact, one of the capabilities that made Unix great. Other OS&#39;s of the time did not have succinct, usable manuals, especially online.<br /><br />Lots of folk criticized the manual pages for being obtuse and unusable, but for the target audience, they were perfect.<br /><br />They also fit very nicely with the Unix Philosophy, now mostly forgotten, I&#39;m afraid.<br /><br />Anyway, good work!</p><span id='bc_0_0MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-57731478'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=6730765814959891660&amp;postID=7250326824603233817'>Delete</a></span></span></div><div id='bc_0_0BR' class='comment-replies'></div><div id='bc_0_0B_box' class='comment-replybox-single'></div></li></ol><div id='bc_0_1I' class='continue' kind='ci'><a href='javascript:;' target='_self'>Add comment</a></div><div id='bc_0_1T_box' class='comment-replybox-thread'></div><div id='bc_0_1L' class='loadmore loaded' kind='rb'><a href='javascript:;' target='_self'>Load more...</a></div></div></div></div>
</div>
</div>
<p class='comment-footer'>
<div class='comment-form'>
<a name='comment-form'></a>
<p>
</p>
<a href='http://www.blogger.com/comment-iframe.g?blogID=6730765814959891660&postID=8090372401074299149' id='comment-editor-src'></a>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'></iframe>
<script type="text/javascript" src="//www.blogger.com/static/v1/jsbin/848709640-comment_from_post_iframe.js"></script>
<script type='text/javascript'>
      BLOG_CMT_createIframe('http://www.blogger.com/rpc_relay.html', '07755238732931017340');
    </script>
</div>
</p>
<div id='backlinks-container'>
<div id='Blog1_backlinks-container'>
</div>
</div>
</div>
</div>
<!-- google_ad_section_end(name=default) -->
<div class='inline-ad'>
<script type="text/javascript"><!--
google_ad_client="pub-2556598786515533";
google_ad_host="pub-1556223355139109";
google_ad_width=300;
google_ad_height=250;
google_ad_format="300x250_as";
google_ad_type="text_image";
google_ad_host_channel="0001";
google_color_border="FFFFFF";
google_color_bg="FFFFFF";
google_color_link="444444";
google_color_url="444444";
google_color_text="444444";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- google_ad_section_start -->

        </div></div>
      
<!-- google_ad_section_end -->
</div>
<div class='blog-pager' id='blog-pager'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' href='http://technicalprose.blogspot.de/2011/06/using-subversion-with-gnome-keyring.html' id='Blog1_blog-pager-newer-link' title='Newer Post'>Newer Post</a>
</span>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' href='http://technicalprose.blogspot.de/2011/05/welcome-to-technical-prose.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a>
</span>
<a class='home-link' href='http://technicalprose.blogspot.de/'>Home</a>
</div>
<div class='clear'></div>
<div class='post-feeds'>
<div class='feed-links'>
Subscribe to:
<a class='feed-link' href='http://technicalprose.blogspot.com/feeds/8090372401074299149/comments/default' target='_blank' type='application/atom+xml'>Post Comments (Atom)</a>
</div>
</div>
<script type="text/javascript">window.___gcfg = {'lang': 'en_GB'};window.___gapisync = false;(function() {var po = document.createElement('script');po.type = 'text/javascript';po.async = true;po.src = 'https://apis.google.com/js/plusone.js';var s = document.body.getElementsByTagName('script')[0];s.parentNode.insertBefore(po, s);})();</script>
</div></div>
</div>
</div>
<div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<div class='sidebar section' id='sidebar-right-1'><div class='widget CustomSearch' id='CustomSearch1'>
<h2 class='title'>Search This Blog</h2>
<div class='widget-content'>
<div id='CustomSearch1_form'>
<span class='cse-status'>Loading...</span>
</div>
</div>
<style type='text/css'>
      #uds-searchControl .gs-result .gs-title,
      #uds-searchControl .gs-result .gs-title *,
      #uds-searchControl .gsc-results .gsc-trailing-more-results,
      #uds-searchControl .gsc-results .gsc-trailing-more-results * {
        color:#3778cd;
      }

      #uds-searchControl .gs-result .gs-title a:visited,
      #uds-searchControl .gs-result .gs-title a:visited * {
        color:#4d469c;
      }

      #uds-searchControl .gs-relativePublishedDate,
      #uds-searchControl .gs-publishedDate {
        color: #444444;
      }

      #uds-searchControl .gs-result a.gs-visibleUrl,
      #uds-searchControl .gs-result .gs-visibleUrl {
        color: #3778cd;
      }

      #uds-searchControl .gsc-results {
        border-color: #999999;
        background-color: #ffffff;
      }

      #uds-searchControl .gsc-tabhActive {
        border-color: #999999;
        border-top-color: #999999;
        background-color: #ffffff;
        color: #444444;
      }

      #uds-searchControl .gsc-tabhInactive {
        border-color: #999999;
        background-color: transparent;
        color: #3778cd;
      }

      #uds-searchClearResults {
        border-color: #999999;
      }

      #uds-searchClearResults:hover {
        border-color: #999999;
      }

      #uds-searchControl .gsc-cursor-page {
        color: #3778cd;
      }

      #uds-searchControl .gsc-cursor-current-page {
        color: #444444;
      }
    </style>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=CustomSearch&widgetId=CustomSearch1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("CustomSearch1"));' target='configCustomSearch1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget AdSense' id='AdSense1'>
<div class='widget-content'>
<script type="text/javascript"><!--
google_ad_client="pub-2556598786515533";
google_ad_host="pub-1556223355139109";
google_alternate_ad_url="http://img1.blogblog.com/img/blogger_ad160x600.html";
google_ad_width=160;
google_ad_height=600;
google_ad_format="160x600_as";
google_ad_type="text_image";
google_ad_host_channel="0001";
google_color_border="FFFFFF";
google_color_bg="FFFFFF";
google_color_link="444444";
google_color_url="3778CD";
google_color_text="444444";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=AdSense&widgetId=AdSense1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("AdSense1"));' target='configAdSense1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Followers' id='Followers1'>
<h2 class='title'>Followers</h2>
<div class='widget-content'>
<div id='Followers1-wrapper'>
<div style='margin-right:2px;'>
<script type="text/javascript">
        if (!window.google || !google.friendconnect) {
          document.write('<script type="text/javascript"' +
              'src="http://www.google.com/friendconnect/script/friendconnect.js">' +
              '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
      if (!window.registeredBloggerCallbacks) {
        window.registeredBloggerCallbacks = true;

        

        
        gadgets.rpc.register('requestReload', function() {
          document.location.reload();
        });

        
        gadgets.rpc.register('requestSignOut', function(siteId) {
          
          google.friendconnect.container.openSocialSiteId = siteId;
          google.friendconnect.requestSignOut();
        });
      }
    </script>
<script type="text/javascript">
    
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
        
          
            
            
              holder.currentPost = "http://www.blogger.com/feeds/6730765814959891660/posts/default/8090372401074299149";
            
            
            
              holder.currentComments = "http://www.blogger.com/feeds/6730765814959891660/8090372401074299149/comments/default";
            
            holder.currentPostUrl = "";
            holder.currentPostId = 8090372401074299149
          
          
          
            holder.postFeed = "http://www.blogger.com/feeds/6730765814959891660/posts/default";
          
          
          
            holder.commentFeed = "http://www.blogger.com/feeds/6730765814959891660/comments/default";
          
          holder.currentBlogUrl = "http://technicalprose.blogspot.com/";
          holder.currentBlogId = "6730765814959891660";
        
        return holder;
      });
    }
  </script>
<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

    
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>
<div id="div-xerkbe3mdnpp" style="width: 100%; "></div>
<script type="text/javascript">
    var skin = {};
    skin['FACE_SIZE'] = '32';
    skin['HEIGHT'] = "260";
    skin['TITLE'] = "Followers";
    skin['BORDER_COLOR'] = "transparent";
    skin['ENDCAP_BG_COLOR'] = "transparent";
    skin['ENDCAP_TEXT_COLOR'] = "#444444";
    skin['ENDCAP_LINK_COLOR'] = "#3778cd";
    skin['ALTERNATE_BG_COLOR'] = "transparent";
    
    skin['CONTENT_BG_COLOR'] = "transparent";
    skin['CONTENT_LINK_COLOR'] = "#3778cd";
    skin['CONTENT_TEXT_COLOR'] = "#444444";
    skin['CONTENT_SECONDARY_LINK_COLOR'] = "#3778cd";
    skin['CONTENT_SECONDARY_TEXT_COLOR'] = "#666666";
    skin['CONTENT_HEADLINE_COLOR'] = "#444444";
    skin['FONT_FACE'] = "normal normal 13px \x27Trebuchet MS\x27, Trebuchet, sans-serif";
    google.friendconnect.container.setParentUrl("/");
    google.friendconnect.container["renderMembersGadget"](
    {id: "div-xerkbe3mdnpp",
     height: 260,
     
     
     
     site: "07755238732931017340",
     
     locale: 'en_GB' },
     skin);
  </script>
</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=Followers&widgetId=Followers1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Followers1"));' target='configFollowers1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget BlogArchive' id='BlogArchive1'>
<h2>Blog Archive</h2>
<div class='widget-content'>
<div id='ArchiveList'>
<div id='BlogArchive1_ArchiveList'>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/search?updated-min=2012-01-01T00:00:00-08:00&amp;updated-max=2013-01-01T00:00:00-08:00&amp;max-results=2'>2012</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2012_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>&#9660;&#160;</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/search?updated-min=2011-01-01T00:00:00-08:00&amp;updated-max=2012-01-01T00:00:00-08:00&amp;max-results=16'>2011</a>
<span class='post-count' dir='ltr'>(16)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_11_01_archive.html'>November</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>&#9660;&#160;</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(3)</span>
<ul class='posts'>
<li><a href='http://technicalprose.blogspot.de/2011/06/reducing-complexity-of-firmware.html'>Reducing the complexity of firmware</a></li>
<li><a href='http://technicalprose.blogspot.de/2011/06/using-subversion-with-gnome-keyring.html'>Using Subversion with the GNOME Keyring</a></li>
<li><a href='http://technicalprose.blogspot.de/2011/06/how-to-write-unix-man-page.html'>How to write a UNIX man page</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
        
</span>
</a>
<a class='post-count-link' href='http://technicalprose.blogspot.de/2011_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogArchive1"));' target='configBlogArchive1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Profile' id='Profile1'>
<h2>About Me</h2>
<div class='widget-content'>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link' href='http://www.blogger.com/profile/17161448681955764614' rel='author' style='background-image: url(//www.blogger.com/img/logo-16.png);'>
Mark R. Bannister
</a>
</dt>
</dl>
<a class='profile-link' href='http://www.blogger.com/profile/17161448681955764614' rel='author'>View my complete profile</a>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=Profile&widgetId=Profile1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Profile1"));' target='configProfile1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div></div>
</aside>
</div>
</div>
</div>
<div style='clear: both'></div>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'></div>
<div class='region-inner footer-inner'>
<div class='foot section' id='footer-1'></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='foot section' id='footer-2-1'></div>
</td>
<td class='columns-cell'>
<div class='foot section' id='footer-2-2'></div>
</td>
</tr>
</tbody>
</table>
<!-- outside of the include in order to lock Attribution widget -->
<div class='foot section' id='footer-3'><div class='widget Attribution' id='Attribution1'>
<div class='widget-content' style='text-align: center;'>
Awesome Inc. template. Powered by <a href='http://www.blogger.com' target='_blank'>Blogger</a>.
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=6730765814959891660&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='footer-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</footer>
<!-- content -->
</div>
</div>
<div class='content-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);
  </script>
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('widgetJsBefore');
</script><script type="text/javascript" src="//www.blogger.com/static/v1/widgets/2000000996-widgets.js"></script>
<script type="text/javascript" src="//www.google.com/jsapi"></script>
<script type='text/javascript'>
if (typeof(BLOG_attachCsiOnload) != 'undefined' && BLOG_attachCsiOnload != null) { window['blogger_templates_experiment_id'] = "templatesV2";window['blogger_blog_id'] = '6730765814959891660';BLOG_attachCsiOnload('item_'); }_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6730765814959891660','//technicalprose.blogspot.de/2011/06/how-to-write-unix-man-page.html','6730765814959891660');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '6730765814959891660', 'bloggerUrl': 'http://www.blogger.com', 'title': 'Technical Prose', 'pageType': 'item', 'url': 'http://technicalprose.blogspot.de/2011/06/how-to-write-unix-man-page.html', 'canonicalUrl': 'http://technicalprose.blogspot.com/2011/06/how-to-write-unix-man-page.html', 'canonicalHomepageUrl': 'http://technicalprose.blogspot.com/', 'homepageUrl': 'http://technicalprose.blogspot.de/', 'blogspotFaviconUrl': 'http://technicalprose.blogspot.de/favicon.ico', 'enabledCommentProfileImages': true, 'adultContent': false, 'disableAdSenseWidget': false, 'analyticsAccountNumber': '', 'searchLabel': '', 'searchQuery': '', 'pageName': 'How to write a UNIX man page', 'pageTitle': 'Technical Prose: How to write a UNIX man page', 'encoding': 'UTF-8', 'locale': 'en-GB', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'languageDirection': 'ltr', 'feedLinks': '\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42Technical Prose - Atom\42 href\75\42http://technicalprose.blogspot.com/feeds/posts/default\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/rss+xml\42 title\75\42Technical Prose - RSS\42 href\75\42http://technicalprose.blogspot.com/feeds/posts/default?alt\75rss\42 /\76\n\74link rel\75\42service.post\42 type\75\42application/atom+xml\42 title\75\42Technical Prose - Atom\42 href\75\42http://www.blogger.com/feeds/6730765814959891660/posts/default\42 /\76\n\74link rel\75\42EditURI\42 type\75\42application/rsd+xml\42 title\75\42RSD\42 href\75\42http://www.blogger.com/rsd.g?blogID\0756730765814959891660\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42Technical Prose - Atom\42 href\75\42http://technicalprose.blogspot.com/feeds/8090372401074299149/comments/default\42 /\76\n', 'meTag': '', 'openIdOpTag': '', 'imageSrcTag': '', 'latencyHeadScript': '\74script type\75\42text/javascript\42\76(function() { var a\75window,b\75\42jstiming\42,d\75\42tick\42;var e\75function(c){this.t\75{};this.tick\75function(c,p,h){h\75void 0!\75h?h:(new Date).getTime();this.t[c]\75[h,p]};this[d](\42start\42,null,c)},f\75new e;a.jstiming\75{Timer:e,load:f};if(a.performance\46\46a.performance.timing){var g\75a.performance.timing,j\75a[b].load,k\75g.navigationStart,l\75g.responseStart;0\74k\46\46l\76\75k\46\46(j[d](\42_wtsrt\42,void 0,k),j[d](\42wtsrt_\42,\42_wtsrt\42,l),j[d](\42tbsd_\42,\42wtsrt_\42))}\ntry{var m\75null;a.chrome\46\46a.chrome.csi\46\46(m\75Math.floor(a.chrome.csi().pageT),j\46\0460\74k\46\46(j[d](\42_tbnd\42,void 0,a.chrome.csi().startE),j[d](\42tbnd_\42,\42_tbnd\42,k)));null\75\75m\46\46a.gtbExternal\46\46(m\75a.gtbExternal.pageT());null\75\75m\46\46a.external\46\46(m\75a.external.pageT,j\46\0460\74k\46\46(j[d](\42_tbnd\42,void 0,a.external.startE),j[d](\42tbnd_\42,\42_tbnd\42,k)));m\46\46(a[b].pt\75m)}catch(n){};a.tickAboveFold\75function(c){var i\0750;if(c.offsetParent){do i+\75c.offsetTop;while(c\75c.offsetParent)}c\75i;750\76\75c\46\46a[b].load[d](\42aft\42)};var q\75!1;function r(){q||(q\75!0,a[b].load[d](\42firstScrollTime\42))}a.addEventListener?a.addEventListener(\42scroll\42,r,!1):a.attachEvent(\42onscroll\42,r);\n })();\74/script\076', 'mobileHeadScript': '', 'adsenseClientId': 'pub-2556598786515533', 'ieCssRetrofitLinks': '\74!--[if IE]\76\74script type\75\42text/javascript\42 src\75\42//www.blogger.com/static/v1/jsbin/2627287098-ieretrofit.js\42\76\74/script\76\n\74![endif]--\076', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/7728d91bbda5af3c'}}, {'name': 'skin', 'data': {'vars': {'date_border_size': '0', 'description_font': 'normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'body_background_gradient_cap': 'none', 'tabs_selected_background_color': '#666666', 'footer_background_gradient': 'none', 'date_background': 'transparent none no-repeat scroll top left', 'widget_border_radius': '0', 'post_title_text_color': '#444444', 'widget_font': 'normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'widget_link_hover_color': '#3778cd', 'link_visited_color': '#4d469c', 'mobile_background_size': 'auto', 'date_space': '30px', 'post_title_font': 'normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'tabs_text_color': '#444444', 'title_separator_border_size': '1px', 'header_background_gradient': 'none', 'widget_outer_background_gradient': 'none', 'widget_link_color': '#3778cd', 'mobile_button_color': '#ffffff', 'widget_title_font': 'normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'widget_outer_background_color': 'transparent', 'date_last_border_radius_bottom': '0', 'widget_outer_margin_top': '0', 'shadow_spread': '20px', 'title_shadow_spread': '-1px', 'outer_shadow_spread': '0', 'keycolor': '#eeeeee', 'image_shadow_spread': '0', 'image_background_color': 'transparent', 'header_font': 'normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'header_background_color': 'transparent', 'date_header_border_radius_top': '0', 'widget_border_bevel_color': 'transparent', 'tabs_border_color': '#999999', 'widget_background_color': '#ffffff', 'date_position': 'static', 'post_first_padding_top': '0', 'tabs_background_gradient': 'url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_light.png)', 'mobile_background_overlay': 'transparent none repeat scroll top left', 'date_border_color': '#eeeeee', 'tabs_background_color': '#eeeeee', 'widget_link_visited_color': '#4d469c', 'feed_text_color': '#444444', 'header_margin_top': '0', 'link_hover_color': '#3778cd', 'date_last_space_bottom': '20px', 'header_margin_bottom': '0', 'date_padding_bottom': '0', 'list_separator_border_size': '1px', 'description_text_color': '#444444', 'body_text_color': '#444444', 'header_padding_top': '22px', 'post_border_color': '#eeeeee', 'footer_text_color': '#444444', 'post_background_color': '#ffffff', 'pager_space_top': '1em', 'endSide': 'right', 'startSide': 'left', 'body_background_size': 'auto', 'tabs_font': 'normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'body_font': 'normal normal 13px \47Trebuchet MS\47, Trebuchet, sans-serif', 'date_first_border_radius_top': '0', 'date_header_position': '15px', 'date_text_color': '#444444', 'widget_title_text_color': '#444444', 'image_border_color': 'transparent', 'separator_outdent': '15px', 'widget_text_color': '#444444', 'link_color': '#3778cd', 'widget_border_color': '#eeeeee', 'pager_border_radius_top': '0', 'feed_link_color': '#3778cd', 'header_text_color': '#444444', 'footer_background_color': '#ffffff', 'widget_padding_top': '8px', 'feed_link_visited_color': '#4d469c', 'feed_link_hover_color': '#3778cd', 'date_font': 'normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'tabs_selected_text_color': '#ffffff', 'date_side': 'right', 'post_border_bevel_color': '#eeeeee', 'widget_padding_side': '15px', 'body_background_color': '#eeeeee', 'image_border_radius': '0', 'pager_background_color': '#ffffff', 'widget_alternate_text_color': '#666666'}, 'override': ''}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '/?view\75classic'}, 'flipcard': {'name': 'flipcard', 'url': '/?view\75flipcard'}, 'magazine': {'name': 'magazine', 'url': '/?view\75magazine'}, 'mosaic': {'name': 'mosaic', 'url': '/?view\75mosaic'}, 'sidebar': {'name': 'sidebar', 'url': '/?view\75sidebar'}, 'snapshot': {'name': 'snapshot', 'url': '/?view\75snapshot'}, 'timeslide': {'name': 'timeslide', 'url': '/?view\75timeslide'}}}]);
_WidgetManager._RegisterWidget('_CustomSearchView', new _WidgetInfo('CustomSearch1', 'sidebar-right-1', null, document.getElementById('CustomSearch1'), {'title': 'Search This Blog', 'includeBlog': true, 'includePostLinks': true, 'includeWeb': true, 'linkLists': [], 'blogUrl': 'http://technicalprose.blogspot.com/', 'loadingMsg': 'Loading...', 'thisBlogMsg': 'This Blog', 'linkedFromHereMsg': 'Linked From Here', 'theWebMsg': 'The Web', 'backgroundColor': '#ffffff', 'textColor': '#444444', 'dateColor': '#444444', 'linkColor': '#3778cd', 'urlColor': '#3778cd', 'visitedLinkColor': '#4d469c', 'borderColor': '#999999', 'activeBorderColor': '#999999'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AdSenseView', new _WidgetInfo('AdSense1', 'sidebar-right-1', null, document.getElementById('AdSense1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar-right-1', null, document.getElementById('Followers1'), {'title': 'Followers', 'codeSnippet': '\74script type\75\42text/javascript\42\76\n        if (!window.google || !google.friendconnect) {\n          document.write(\47\74script type\75\42text/javascript\42\47 +\n              \47src\75\42http://www.google.com/friendconnect/script/friendconnect.js\42\76\47 +\n              \47\74/scr\47 + \47ipt\76\47);\n        }\n      \74/script\76\n\74script type\75\42text/javascript\42\76\n      if (!window.registeredBloggerCallbacks) {\n        window.registeredBloggerCallbacks \75 true;\n\n        \n\n        \n        gadgets.rpc.register(\47requestReload\47, function() {\n          document.location.reload();\n        });\n\n        \n        gadgets.rpc.register(\47requestSignOut\47, function(siteId) {\n          \n          google.friendconnect.container.openSocialSiteId \75 siteId;\n          google.friendconnect.requestSignOut();\n        });\n      }\n    \74/script\76\n\74script type\75\42text/javascript\42\76\n    \n    function registerGetBlogUrls() {\n      gadgets.rpc.register(\47getBlogUrls\47, function() {\n        var holder \75 {};\n        \n          \n            \n            \n              holder.currentPost \75 \42http://www.blogger.com/feeds/6730765814959891660/posts/default/8090372401074299149\42;\n            \n            \n            \n              holder.currentComments \75 \42http://www.blogger.com/feeds/6730765814959891660/8090372401074299149/comments/default\42;\n            \n            holder.currentPostUrl \75 \42\42;\n            holder.currentPostId \75 8090372401074299149\n          \n          \n          \n            holder.postFeed \75 \42http://www.blogger.com/feeds/6730765814959891660/posts/default\42;\n          \n          \n          \n            holder.commentFeed \75 \42http://www.blogger.com/feeds/6730765814959891660/comments/default\42;\n          \n          holder.currentBlogUrl \75 \42http://technicalprose.blogspot.com/\42;\n          holder.currentBlogId \75 \0426730765814959891660\42;\n        \n        return holder;\n      });\n    }\n  \74/script\76\n\74script type\75\42text/javascript\42\76\n  if (!window.registeredCommonBloggerCallbacks) {\n    window.registeredCommonBloggerCallbacks \75 true;\n\n    gadgets.rpc.register(\47resize_iframe\47, function(height) {\n      var el \75 document.getElementById(this[\47f\47]);\n      if (el) {\n        el.style.height \75 height + \47px\47;\n      }\n    });\n\n    \n    gadgets.rpc.register(\47set_pref\47, function() {});\n\n    registerGetBlogUrls();\n  }\n  \74/script\76\n\74div id\75\42div-1vfyw6r36fie1\42 style\75\42width: 100%; \42\76\74/div\76\n\74script type\75\42text/javascript\42\76\n    var skin \75 {};\n    skin[\47FACE_SIZE\47] \75 \04732\47;\n    skin[\47HEIGHT\47] \75 \042260\42;\n    skin[\47TITLE\47] \75 \42Followers\42;\n    skin[\47BORDER_COLOR\47] \75 \42transparent\42;\n    skin[\47ENDCAP_BG_COLOR\47] \75 \42transparent\42;\n    skin[\47ENDCAP_TEXT_COLOR\47] \75 \42#444444\42;\n    skin[\47ENDCAP_LINK_COLOR\47] \75 \42#3778cd\42;\n    skin[\47ALTERNATE_BG_COLOR\47] \75 \42transparent\42;\n    \n    skin[\47CONTENT_BG_COLOR\47] \75 \42transparent\42;\n    skin[\47CONTENT_LINK_COLOR\47] \75 \42#3778cd\42;\n    skin[\47CONTENT_TEXT_COLOR\47] \75 \42#444444\42;\n    skin[\47CONTENT_SECONDARY_LINK_COLOR\47] \75 \42#3778cd\42;\n    skin[\47CONTENT_SECONDARY_TEXT_COLOR\47] \75 \42#666666\42;\n    skin[\47CONTENT_HEADLINE_COLOR\47] \75 \42#444444\42;\n    skin[\47FONT_FACE\47] \75 \42normal normal 13px \\x27Trebuchet MS\\x27, Trebuchet, sans-serif\42;\n    google.friendconnect.container.setParentUrl(\42/\42);\n    google.friendconnect.container[\42renderMembersGadget\42](\n    {id: \42div-1vfyw6r36fie1\42,\n     height: 260,\n     \n     \n     \n     site: \04207755238732931017340\42,\n     \n     locale: \47en_GB\47 },\n     skin);\n  \74/script\076'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', null, document.getElementById('BlogArchive1'), {'languageDirection': 'ltr'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', null, document.getElementById('Profile1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {'attribution': 'Awesome Inc. template. Powered by \74a href\75\47http://www.blogger.com\47 target\75\47_blank\47\76Blogger\74/a\76.'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', null, document.getElementById('Header1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', null, document.getElementById('Navbar1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': '//www.blogger.com/static/v1/jsbin/3026503496-lbx_en-GB.js', 'lightboxCssUrl': '//www.blogger.com/static/v1/v-css/228702327-lightbox_bundle.css'}, 'displayModeFull'));
</script>
</body>
</html>